package com.mida.app.knw.service;


import com.mida.dms.knw.entity.KnwNoumenonUserSpace;
import com.mida.dms.knw.entity.vo.KnwNoumenonVo;
import com.mida.dms.knw.vo.*;
import com.mida.tool.common.result.ActionResult;
import com.mida.tool.common.result.ListResult;

import java.util.List;

/**
 * <h1>本体服务接口</h1>
 * <p>
 *
 * @author jian.li on 2021/2/24 14:11
 */
public interface KnwNoumenonService {

    ActionResult add(com.mida.dms.knw.vo.KnwNoumenonVo knwNoumenonVo);

    ActionResult delete(Long soid);

    ActionResult update(com.mida.dms.knw.vo.KnwNoumenonVo knwNoumenonVo);

    ActionResult checkName(Long originalSoid, Long newNoumenonType, Long newNoumenonSubType, String newNoumenonShowName);

    ListResult<KnwNoumenonVo> get(Long soid);

    ListResult<PageResultVo<KnwNoumenonVo>> findPage(KnwNoumenonPageVo vo);

    ListResult<List<KnwNoumenonVo>> findAll(String search);

    ListResult<List<KnwNoumenonFirstLevelTree>> getTree();

    ListResult<List<PullDownMenuVO>> getSubTree(Long noumenonSoid);

    ListResult<List<PullDownMenuVO>> getLocalAnatomyRootTree(Long noumenonSoid);

    ActionResult bulkInsertknwNoumenonUserSpace(KnwNoumenonUserSpaceBatchVo knwNoumenonUserSpaceBatchVo);

    ListResult<PageResultVo<KnwNoumenonVo>> selectKnwNoumenonVos(KnwNoumenonPageVo vo);
}

